Begin |
Initialize particle swarm, including the settlement of the original position Xi and original speed Vi. |
Repeat |
Transfer the form of the parameters of LS-SVM, according to the binary form of the grains. |
Compare the value of the fitness function of every grain f(xi) with its optimum value f(pbesti). |
If |
f(xi) < f(pbesti) |
Make the value of the fitness function take place of the value of the fitness function before, and so it is with the grain. |
Compare the value of the fitness function of every grain f(xi) with the global optimum value f(gbesti). |
If |
f(xi) < f(gbesti), |
Make the value of the fitness function of that grain take place of the optimum value of the fitness function before, and so it is with the grain. |
Update the speed and value of the grains according to the Equations (1) and (2), and build the new population Xi+1. Update the speed according to the rules: if vi > Vmax, vi = Vmax, if vi ≤ −Vmax, vi = −Vmax. |
Update the inertia factor w. |
Update the binary digit of the grains. |
Check whether the requirement of ending is satisfied. The requirement is reaching the max iterations or the evaluation of estimate is less than the given accuracy. |
Improve the iteration. Make T = T + 1. |
Until |
The requirement of ending is satisfied, end the selection for the best feature, and return the best character subset and classification accuracy. |